const fs = require('fs');

// fs.access('./fs.md', fs.constants.R_OK | fs.constants.W_OK, (err) => {
//   console.log(err ? 'no access!' : 'can read/write');
// });
// 

// fs.appendFile('1.doc', 'data to append', (err) => {
//   if (err) throw err;
// });


// console.log(fs.constants)

// fs.copyFile('1.txt', '2.txt', (err) => {
//   if (err) throw err;
//   console.log('source.txt was copied to destination.txt');
// });

// console.log(fs.createReadStream('1.txt', { start: 0, end: 9 }))
// function readLines(input, func) {
//   var remaining = '';
//   input.on('data', function (data) {
//     remaining += data;
//     var index = remaining.indexOf('\n');
//     var last = 0;
//     while (index > -1) {
//       var line = remaining.substring(last, index);
//       last = index + 1;
//       func(line);
//       index = remaining.indexOf('\n', last);
//     }
//     remaining = remaining.substring(last);
//   });
//   input.on('end', function () {
//     if (remaining.length > 0) {
//       func(remaining);
//     }
//   });
// }
// var num = 0
// function func(data) {
//   console.log('Line' + num++ + ': ' + data);
// }
// var input = fs.createReadStream('22.txt');
// readLines(input, func);

// createWriteStream方法和createReadStream方法配合，可以实现拷贝大型文件。
// function fileCopy(filename1, filename2, done) {
//   var input = fs.createReadStream(filename1);
//   var output = fs.createWriteStream(filename2);
//   input.on('data', function (d) { output.write(d); });
//   input.on('error', function (err) { throw err; });
//   input.on('end', function () {
//     output.end();
//     if (done) done();
//   });
// }



// fs.mkdir('3.txt', function (error) {
//   if (error) {
//     console.log(error)
//   }
//   console.log('ok')
// })

// fs.open('1.txt', 'a+', (err, fd) => {
//   console.log(fd)
// });


// fs.readdir('./', (err, dir) => {
//   console.log(dir)
// })

// fs.readFile('1.txt', 'utf8', (err, data) => {
//   if (err) throw err;
//   console.log(data);
// });

// fs.realpath('1.txt', (err, data) => {
//   if (err) throw err;
//   console.log(data);
// });


// fs.rename('2.txt', '22.txt', (err, data) => {
//   if (err) throw err;
//   console.log(data);
// })

